package gocomm

import (
	"fmt"
	"github.com/bitly/go-simplejson"
	"net/url"
)

// 短链接成功就返回短链接 否则返回原链接
// 默认返回 t.cn
// www.alapi.cn
/*
1	返回 t.cn 短网址
2	返回 url.cn 短网址
3	返回 dwz.mk 短网址
4	返回 suo.im 短网址
5	返回 u.nu 短网址
6	返回 mtw.so 短网址
7	返回 suo.nz 短网址
8	返回 sohu.gg 短网址

微信可以打开：  suoim，
 */
func GetShortUrl(urlstr string,url_type string,token string) (u string) {

	defer func() {

		if err:=recover();err!=nil{
			u = urlstr
		}

	}()
	escape := url.QueryEscape(urlstr)
	link:=fmt.Sprintf("%s%s&type=%s&token=%s","https://v2.alapi.cn/api/url?url=",escape,url_type,token)
	data,err:=HTTPGet(link)
	if err!=nil{
		u=urlstr
		return
	}

	j,err:=simplejson.NewJson(data)
	if err!=nil{
		u=urlstr
		return
	}

	code,err:=j.Get("code").Int()

	if code!=200 || err!=nil{
		u=urlstr
		return
	}

	short,err:=j.Get("data").Get("short_url").String()
	if err!=nil{
		u=urlstr
		return
	}
	u=short
	return
}
